<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Promise类方法resolve</title>
  <!-- 
  在 JavaScript 中， `Promise`  类的  `resolve`  方法是一个静态方法，用于返回一个以给定值解析的  `Promise`  对象。以下是关于  `Promise.resolve`  方法的总结和说明：
  1. 基本概念
  -  `Promise.resolve(value)` ：该方法返回一个已解决状态的  `Promise`  对象。
  - 用途：用于将非  `Promise`  值转换为  `Promise` ，使得可以在使用  `Promise`  的上下文中处理这些值。

  2. 语法
  Promise.resolve(value);
  -  `value` ：可以是任何值，包括原始值、对象、或者另一个  `Promise` 。

  3. 返回值
  - 如果  `value`  是一个  `Promise` ， `Promise.resolve`  将返回这个  `Promise` 。
  - 如果  `value`  不是  `Promise` ，则返回一个新的  `Promise` ，并将其状态设置为已解决（fulfilled），其值为  `value` 。

  4. 示例代码

   4.1 处理普通值
  const promise1 = Promise.resolve(42);
  promise1.then(value => {
      console.log(value); // 输出: 42
  });
   4.2 处理对象
  const promise2 = Promise.resolve({ name: 'Alice' });
  promise2.then(value => {
      console.log(value.name); // 输出: Alice
  });
   4.3 处理另一个 Promise
  const promise3 = new Promise((resolve) => {
      setTimeout(() => {
          resolve('Resolved after 1 second');
      }, 1000);
  });

  const promise4 = Promise.resolve(promise3);
  promise4.then(value => {
      console.log(value); // 输出: Resolved after 1 second
  });
  5. 注意事项
  -  `Promise.resolve`  方法不会处理错误，如果传入的  `value`  是一个已拒绝的  `Promise` ，则返回的  `Promise`  也会是已拒绝的状态。
  - 该方法通常用于将同步代码转换为异步代码，方便与其他  `Promise`  进行组合。

  6. 总结
  `Promise.resolve`  方法是创建已解决状态  `Promise`  的便捷方式。它可以处理各种类型的值，包括普通值、对象和已有的  `Promise` ，使得在处理异步操作时更加灵活。在编写异步代码时，理解  `Promise.resolve`  的用法可以帮助开发者更好地管理和组合异步操作。
  -->
</head>
<body>

  <script>

    // 实例方法：then/catch
    // const promise = new Promise((resolve, reject) => {
    //   resolve('成功')
    // })
    // promise.then(res => {
    //   console.log(res)
    // })
    
    // Promise.resolve() 方法返回一个以给定值解析后的Promise 对象。如果该值是一个Promise对象，则直接返回这个Promise对象。
    // 类方法
    const promise = Promise.resolve('成功')
    promise.then(res => {
      console.log("then结果:", res)
    })

    // 相当于
    // const promise = new Promise((resolve, reject) => {
    //   resolve('成功')
    // })

  </script>
  
</body>
</html>